草庐IT

相当于 PyQuery 或 Nokogiri 的 PHP?

全部标签

ruby - 无法安装 Nokogiri gem,找不到 "libxml/parser.h",但它在那里,为什么?

我尝试安装Nokogiri,但我总是遇到编译错误:checkingforlibxml/parser.h...***extconf.rbfailed***但是,我已经安装了它和所有其他依赖项。我尝试像这样给安装程序提示:%>geminstallnokogiri----with-xml2-lib=/usr/lib/--with-xml2-include=/usr/include/libxml2/...checkingforlibxml/parser.h...***extconf.rbfailed***...但它仍然没有安装:%>find/usr/include/-name"parser.h

ruby - 使用 Nokogiri 插入和删除 XML 节点和元素

我想提取XML文件的一部分,并记下我提取了该文件中的某些部分,例如“这里提取了一些东西”。我正尝试用Nokogiri来做这件事,但似乎并没有真正记录如何:删除的所有child更改inner_text那个完整的元素有什么线索吗? 最佳答案 Nokogiri让这一切变得非常简单。使用thisdocument例如,以下代码将找到所有vitamins标签,删除它们的子标签(以及子标签的子标签等),并将它们的内部文本更改为“Childrenremoved”。require'nokogiri'io=File.open('sample.xml',

ruby-on-rails - rails nokogiri 没有这样的文件或目录

gem文件...gem'nokogiri'...在Controller中doc=Nokogiri::HTML(open('http://google.com'))我得到了一个错误Errno::ENOENTinSiteController#scrapNosuchfileordirectory-http://google.comapp/controllers/site_controller.rb:6:in`initialize'app/controllers/site_controller.rb:6:in`open'app/controllers/site_controller.rb:6:

ruby - 如何让 Nokogiri 不转换为空间

我像这样获取一个html片段"市 场 价"其中包含“ ”,但是在调用NokogiriNodeSet的to_s之后,变成了"市场价",我想保留原来的html片段,并尝试为to_s方法设置:save_withoption,但失败了。有人遇到同样的问题可以帮帮我吗?提前谢谢你。 最佳答案 我遇到过类似的情况,我想出来的有点hack,但似乎效果很好。nbsp=Nokogiri::HTML(" ").texttext.gsub(nbsp,"")在我的例子中,我希望nbsp是一个常规空间。我认为在您的情况下,您希望

ruby-on-rails - 无法安装 Nokogiri gem

我正在开发一个允许图像附件到每个用户帐户的Rails应用程序。我正在使用回形针和亚马逊网络服务:gem'paperclip'gem'aws-sdk'当我运行bundleinstall时,我收到这条消息:extconf失败,退出代码1Gemfileswillremaininstalledin/usr/local/rvm/gems/ruby-2.1.2/gems/nokogiri-1.6.5forinspection.Resultsloggedto/usr/local/rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/

相当于 Perl Data::Dumper 的 Ruby

我正在学习Ruby和Perl有一个非常方便的模块,称为Data::Dumper,它允许您递归地分析数据结构(如哈希)并允许您打印它。这在调试时非常有用。Ruby有类似的东西吗? 最佳答案 看pp例子:require'pp'x={:a=>[1,2,3,{:foo=>bar}]}ppx还有一个inspect方法也很好用x={:a=>[1,2,3,{:foo=>bar}]}putsx.inspect 关于相当于PerlData::Dumper的Ruby,我们在StackOverflow上找到一

Ruby gem 相当于 "pip install -e"?

在Python中,我可以从"editable"mode中的源安装一个包使用pipinstall-e。然后我可以继续编辑代码,任何更改都会被importlibrary的其他Python脚本自动选取开发Rubygem是否有类似的工作流程?在开发库时使用库的“Ruby方式”是什么,而不是每次我对源代码进行更改时编译和安装gem? 最佳答案 bundler有两种常见的方法:执行bundleinstall--pathvendor/bundle并且不运行bundleupdate除非一切都经过测试。告诉打包器使用本地版本的gem:在Gemfile

ruby - Groovy 相当于 ruby​​ all 和 none

我想知道Groovy中Collection的所有(或没有)项目是否满足特定条件。我知道在ruby​​中(以及在带有linq的c#中),您可以调用all?和none?之类的方法并将条件作为闭包传递以完成此操作.在Groovy中是否有与此方法等效的方法? 最佳答案 是的,它的!any(对于Ruby的none)和every(对于Ruby的all):deflist=[1,2]assert!list.any{it0}另请参阅http://groovy.codehaus.org/JN1015-Collections处的文档

ruby - 如何创建 nokogiri 不区分大小写的 Xpath 选择器?

我正在使用nokogiri来选择“关键字”属性,如下所示:putspage.parser.xpath("//meta[@name='keywords']").to_html我正在使用的其中一个页面的关键字标签带有大写字母“K”,这促使我使查询不区分大小写。AND所以,我的问题是:使nokogiri选择不区分大小写的最佳方法是什么?编辑下面Tomalak的建议非常适合这个特定问题。我还想使用这个例子来帮助更好地理解nokogiri,并且有几个我想知道但没有成功搜索的问题。例如,正则表达式“伪类”是NokogiriDocs吗?适合这样的问题吗?我也很好奇nokogiri中的matches?

ruby - 如何在 Nokogiri/Ruby 解析期间检查页面上是否存在元素?

在使用Nokogiri(Rubygem)解析HTML页面期间,我如何检查页面上是否存在元素(在本例中为div)?在我的测试页面上,它确实存在,因此pp会产生预期的Nokogiri输出。但是if语句不起作用,==true似乎是错误的方法。有什么改进建议吗?干杯,克里斯pppage.at('.//div[@class="errorMsg"]')ifpage.at('.//div[@class="errorMsg"]')==truethenputs"Errormessagefoundonpage"end 最佳答案 与true比较不是正确的